$global.tbPage = (obj) => {
  return Page({
    ...obj,
    async onLoad(query) {
      // 获取页面名称,可以配置
      if (obj && obj.data && !obj.data.current_page_name) {
        const pages = getCurrentPages(); //获取加载的页面
        obj.data.current_page_name = pages[pages.length - 1].route; //获取当前页面的对象
      }
      obj && obj.onLoad && obj.onLoad.bind(this)(query);

    },
    async onShow(options) {
      // 进入页面埋点   保存当前时间戳
      obj.data.custom_page_into_time = new Date().getTime();
      // 进入页面埋点
      my.mfutil.dataTrack.operation('into', obj.data.current_page_name);
      // 页面显示
      obj && obj.onShow && obj.onShow.bind(this)(options);
    },

    async onHide() {
      // 页面隐藏
      obj && obj.onHide && obj.onHide.bind(this)();
      // 离开页面埋点  计算停留时间
      my.mfutil.dataTrack.operation('exit', obj.data.current_page_name);
      my.mfutil.dataTrack.timeOnSite(new Date().getTime() - obj.data.custom_page_into_time, obj.data.current_page_name);
    },
    async onUnload() {
      // 页面被关闭
      obj && obj.onUnload && obj.onUnload.bind(this)();
      /// 离开页面埋点  计算停留时间
      my.mfutil.dataTrack.operation('exit', obj.data.current_page_name);
      my.mfutil.dataTrack.timeOnSite(new Date().getTime() - obj.data.custom_page_into_time, obj.data.current_page_name);
    },
  });
}

// 组件封装测试
$global.tbComponent = (obj)=>{
  return Component({
    ...obj,
  })
}